#pragma once
#include "DeviceContent.h"
ref class BaseDevice
{
public:
	BaseDevice(void);
	virtual ~BaseDevice(void);

	virtual DeviceContent^ enumerateContent() ;

	property System::String^ DeviceFriendlyName
	{
		System::String^ get()  { return m_deviceFriendlyName; }
		void set(System::String^ val){m_deviceFriendlyName = val;}
    }
	
	property System::String^ DeviceDescription
	{
		System::String^ get()  { return m_deviceManufacturer; }
		void set(System::String^ val){m_deviceManufacturer = val;}
	}

	property System::String^ DeviceManufacturer
	{
		System::String^ get()  { return m_deviceDescription; }
		void set(System::String^ val){m_deviceDescription = val;}
	}

	property System::String^ DeviceID
	{
		System::String^ get()  { return m_deviceID; }
		void set(System::String^ val){m_deviceID = val;}
	}


protected:
	System::String ^m_deviceFriendlyName;
	System::String ^m_deviceManufacturer;
	System::String ^m_deviceDescription;
	System::String ^m_deviceID;
};
